package com.example.springboot3demo.annotation;

import com.example.springboot3demo.config.RabbitMQConfig;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 方法同步注解
 * 用于标记需要在多实例间同步执行的方法
 *
 * @author Your Name
 * @date 2024-01-01
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MethodSync {
    /**
     * 同步组名，用于区分不同的同步队列
     * @return 同步组名
     */
    String group() default RabbitMQConfig.METHOD_SYNC_ROUTING_KEY;
}